#include <iostream>
#include <initializer_list>
template<typename K, typename V>
class Test {
public:
    // 可变参数末班， Args是一个参数包
    template <class... Args>
    void dosomething(Args... args) {
        // 初始化列表的作用是确保每个表达式都被求值
        (void)std::initializer_list<int>
        {
            // Args... 折叠表达式，对每个参数执行
            (std::cout << args << std::endl, 0)...
        };
    }
};

int main() {
    Test<int, int> t;
    t.dosomething(1, 2.2, "hello", 4, 5);
}

